Embedded systems support a plethora of applications in various domains including, but not limited to, communications, multimedia, and image processing. Such a vast range of applications require flexible computing platforms for different needs of each application and derivatives of each application. General purpose processors are good candidates to support the vast range of applications due to the flexibility they offer. However, general purpose processors are unable to meet the stringent performance, throughput and power requirements of the applications hosted on embedded systems.
A commonly employed solution to meet the stringent performance, throughput and power requirements is the use of Application Specific Integrated Circuit (ASIC) solutions. ASICs enable hardware acceleration of an application by hard coding the functions onto hardware to satisfy the performance and throughput requirements of the application. However, the gain in increased performance and throughput through the use of ASICs is at the loss of flexibility.
Therefore, the hard coded design model of ASICs does not meet changing market demands and multiple emerging variants of applications catering to different customer needs. Spinning an ASIC for every application is prohibitively expensive. The design cycle of an ASIC from concept to production typically takes about 15 months at a cost of $10-15 million. However, the time and cost may escalate further as the ASIC is redesigned and respun to conform to changes in standards, to incorporate additional features, or to match customer requirements. The increased cost may be justified if the market volume for the specific application corresponding to an ASIC is large. However, rapid evolution of technology and changing requirements of applications prohibit any one application optimized on an ASIC from having a significant market demand to justify the large costs involved in producing the ASIC.
Applications in the domain of video decoding fall under the realm of rapidly changing requirements and standards. Video decoding is used in a wide range of applications from mobile devices to high definition television (HDTV) and digital cinema. Each application caters to a different set of data sources, end terminals and processing capabilities. For example, a home-theater system may have to decode the baseline profile stream of the H.264 standard received over internet and also a high-profile stream of the H.264 standard received from a DVD. Further it is desirable to support interoperability between these applications at run time
Therefore, there is a need for a method and apparatus for a hardware solution that provides application scalability and interoperability between various domain specific applications at run time.
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the invention.